home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 22
/
Cream of the Crop 22.iso
/
bbs
/
zchss18c.zip
/
ZCHESS.DOC
< prev
next >
Wrap
Text File
|
1996-10-31
|
42KB
|
1,006 lines
SYSOP.DOC, Version October 31, 1996
Paul Fargen
6200 Richiewayne Drive
Louisville, KY
Ver 1.8 February 1996
Ver 1.8B September 9, 1996
DISTRIBUTION
Please distribute this Shareware version of ZCHESS via BBS, CD-ROM, or
any other suitable means.
Paul Fargen grants an unlimited license to make and distribute
shareware copies of ZCHESS. No modifications to the files contained
in the software package, including this file, may be made before
distribution. No fee may be charged by anyone other than Paul
Fargen beyond the actual cost of providing these copies without the
prior written consent of Paul Fargen. This does NOT apply to the
ZCHESS.KEY file.
Paul Fargen encourages distribution on CD-ROM, BBS systems, and
other media so long as the purchaser of the medium is aware that
they must also register ZCHESS to use this software beyond a
resonable trial period. The purchase price of the media or any
subscription costs to an online service do not pay for this license.
PURPOSE
The program ZCHESS.EXE is a chess door program which allows users to
play each other in correspondence, real-time chess or interBBS
chess. ZCHESS does not make chess moves itself, but will check
human moves for legality and draws while keeping track of their
games.
SHAREWARE CRIPPLE
Zchess played without a key limits the number of moves that can be
played in a game to 50. This limit is not imposed on games that are
started and completed in a single day, allowing you to evaluate the
real-time, head-to-head feature entirely. The limit will be imposed
on all games that span more than 24 hours.
PROGRAM LICENSE AGREEMENT
Paul Fargen reserves all rights to this software product and
documentation. The registered version of this package does not
include source code. No part of these programs, including the
ZCHESS.KEY file, may be reverse-engineered or disassembled.
Distributing, repackaging, or reselling of the registered version of
the software to third parties is forbidden. You may, however,
create chess programs using the graphical .ICN files, and you may
also write programs that read and write to the data files that
support ZCHESS so long as such applications do not serve to defeat
any limitations imposed on unregistered, shareware installations.
You may also edit, create new and distribute .ICN files with the
same names as used by Zchess under a separate effort. Example
source code MAY be made available on the support BBS listed below
upon request. An exceptional License is granted to competing
sources to incorporate the format employed for interBBS play for
that same purpose, as long as you grant a similar License to me for
any other format you employ for the same purpose.
Paul Fargen disclaims all warranties relating to this software, whether
expressed or implied, including, but not limited to, any implied
warranties of merchantability or fitness for a particular purpose, and
all such warranties are expressly and specifically disclaimed. Neither
Paul Fargen nor anyone else who has been involved in the development,
testing or delivery of this software shall be liable for any indirect,
consequential, or incidental damages arising out of the use or
inability to use such software, even if Paul Fargen has been advised of
the chance of such damages or claims. In no event shall Paul Fargen's
liability for any such damages ever exceed the price paid to Paul
Fargen for a license to use the software, regardless of the form of
the claim. The person using the software bears all risk as to the
quality and performance of the software.
Some states do not allow the exclusion of the limit of liability for
consequential or incidental damages, so the above limitation may not
apply to you.
The license you may choose to purchase is assigned to you as an
individual, not your BBS. You may run ZCHESS on one system per
license. You may not transfer this license without the expressed
written consent of the author, which must be notarized.
If you do not agree to these terms, then you may not run Zchess or
use any of the associated files.
TRADEMARK ACKNOWLEDGMENTS
Turbo C is a registered trademark of Borland International, Inc.
QuickC, Windows, MS, MS-DOS are registered trademarks of Microsoft
Corporation. PCL4C is copyrighted by MarshallSoft Computing, Inc.
PKUNZIP is copyrighted by PKWARE, INC. Hayes is a registered trademark
of Hayes Microcomputer Products, Inc. RIPscrip language is copyrighted
by TeleGrafix Communications, Inc. DESQview is a trademark of
Quarterdeck. Other trademarks and copyrights not listed above are
property of their respective companies.
SOFTWARE USED
This program uses the PCL4C "Personal Communications Library" for C,
version 4.3 for most of the serial communications from the computer
to the modem. Using this library, most of the code for the
communications portion of this terminal program were written very
quickly. If you are planning to write programs that require serial
routines, you may wish to consider this product. It is available as
Shareware on many BBSes, or directly from the author at the
following address.
MarshallSoft Computing, INC.
Post Office Box 4543
Huntsville, AL 35815
BBS: 205-880-9748 (14400, N, 8, 1)
This door was compiled with Turbo C++ version 3.0.
System Requirements
BBS
* IBMPC compatible (8086 or higher)
* DOS 3.X or higher.
* EGA for graphical local screens.
* ANSI.SYS, NANSI.SYS, DVANSI.COM, etc. if running ZCHESS
locally.
* Minimal RAM memory, perhaps 300K.
* Serial ports using IRQs 2,3,4,5,6,7 and any address, or a
fossil.
* SHARE.EXE loaded for multinode systems.
* DV compatible (DV aware), Windows and OS/2 time slices.
* A diskcache program is strongly recommended. Zchess polls
the disk for changing files every five to ten seconds.
* A DOOR.SYS dropfile for BBSes. DOOR.SYS files can be created
for NOVELL or LANTASTIC type networks.
* the FILES statement in CONFIG.SYS should be at least 40 for
running from a BBS Door.
Remote User
* ANSI emulation
* RIPScrip (optional)
INSTALLATION ( QUICK START )
1. Copy all the files received into a subdirectory, and unzip.
The directory may be anything as long as the path name is less than
sixty characters or so. When unzipping, you should see an "-AV" beside
each filename. The last two lines should appear as
Authentic files Verified! # JWE939
PAUL FARGEN
If this is not the case and you have any doubts about the source of
ZCHESS, call the support BBS listed below and download the latest
version.
2. Run the SETUP.EXE program. You will be prompted for the
information that is to be stored in ZCHESS.CFG. This information is
explained elsewhere in this document. To use setup, use your cursor
keys to select each item, answering the questions as best your can.
Often the defaults will be sufficient to get Zchess up and running.
SETUP will also create the subdirectories required by ZCHESS.
\OPEN contains the game files, User to user messages, Note
files, HISTORY.DAT and for Networked subs, NET.CFG.
\MSG contains all messages sent from node to node during
multinode play.
{BULLS} (Path configured by ZCHESS.CFG ) is the location that
bulletins generated by the maintenance routines
will be placed.
{PLAYER_DATA} (Configured by ZCHESS.CFG) is the location
that the player data (ratings, games won, etc.)
will be kept. If you run multiple copies of
ZCHESS, you can specify the identical path for
each door. This allows the player data to be one
rating list. Real-time chess sections use another
ratings list saved in the subdirectory for that
section. Other Sections (subdirectories) can also
be setup. Using SETUP.EXE, you may wish to add
some for timed chess, such as
REAL1 5 minutes for all moves (Head to head)
REAL2 10 minutes for all moves (Head to head)
REAL3 20 minutes for all moves (Head to head)
REAL4 40 minutes for all moves (Head to head)
REAL5 60 minutes for all moves (Head to head)
REAL6 120 minutes for all moves (Head to head)
REALx 30 minutes for all moves (Head to head)
OPEN1 An extra local or networked section.
TOUR A tournament section.
Time limits for REAL sections are set according to the Section name.
The default is thirty minutes.
For real-time chess sections, clocks will tick down. Also, move
take-back is disabled. The time for your moves is always maintained by
your session of ZCHESS. Time for your opponent's moves is only
estimated by your session, and maintained by his own session.
3. To run ZCHESS from your BBS, install a call to ZCHESS.EXE
giving the complete path to DOOR.SYS as the command line parameter. An
example of this is:
C:\ZCHESS\ZCHESS.EXE C:\BBS\WORK\NODE%WCNODEID%\DOOR.SYS
If your BBS does not generate a DOOR.SYS drop file there are many
conversion programs that will convert whatever you have to DOOR.SYS.
If you can't find a converter please
send a copy of your drop file to me at the address below, and I may
choose to write a conversion for the information required by the
program. Let me know if you want the program mailed or posted on
the support BBS.
Alternatively, you may run Zchess without any command line
parameters. You will be asked to login, and will be assigned 60
minutes remaining. This feature might be usefull for some LAN
configurations.
4. You may run ZCHESS locally with LOCAL.BAT. This batch file will
call ZCHESS with an abreviated DOOR.SYS that was created by SETUP.EXE.
Note: When games are finished, Zchess will attempt to notify you the
next time you run the door via a telegram. Since the MSG\*.TGR
files are cataloged by the actual BBS number, local players should
run from the BBS Door at least once, or these telegrams will not
function for you.
5. Post the files ZC_BW.ZIP and ZC_RB.ZIP for download by your RIP
users. These contain the RIP icon files that should be copied into the
RIP subdirectory. Also, you may modify or create new sets of icons,
posting these for your users. These files may be edited with IMED,
available from Paul Fargen by request. Other RIPScrip icon editors
may be used as well, as long as you maintain a filelength of 566.
6. Maintenance should be performed once a day. MAINT.EXE will lockout
all other nodes during the one or two minutes required. MAINT does not
require any command line switches. Your BBS should be configured to run
MAINT.EXE as a daily event or weekly event.
SYSTEM LOCKOUT
As mentioned above, MAINT.EXE will lockout all other nodes when it
runs. Additionally, if your run NETCHESS.EXE, that program will
lockout all nodes as well. SETUP.EXE must lockout all nodes before
it allows you to run as well. As there are menu choices to run
maintenance or zchess from the setup main menu, the system lockout
is released as soon as either of these are selected. You should be
sure that there is no chance that a player will logon during a setup
session before running MAINT or ZCHESS. More that likely, nothing
will go wrong should a player logon from your BBS while you are
running SETUP after the system lockout has been released. Still,
running any of the setup functions while the BBS is up is "not
supported", meaning that
if it works for you then great. If it doesn't work, then don't do
it! (It will probably be okay, though.)
MANAGING A TOURNAMENT
Tournaments are managed through the ZCHESS door, and not the maintenance
program. The sysop may create the next round using 'M' from the
main menu, after switching sections to the tournament.
REGISTERED PROGRAM KEY FILE
When the program starts ZCHESS will try to open a file called
ZCHESS.KEY. The major difference between the Shareware version and
the registered version is the existence of this file. Your BBS ID
is copied from the registration number on this key, which assures
that each BBS ID is unique. Shareware versions allow the sysop to
specify a BBS ID, but the first character is forced to a dash, which
maintains the uniqueness of the registered users' keys.
COMMAND LINE ARGUMENTS FOR ZCHESS
path\DOOR.SYS
Required location and name (always should be DOOR.SYS) of
the system drop file. If not specified, you will be able to
login.
NO_CTS
ZCHESS ignores the CTS line when sending characters out the
port.
NO_DCD
ZCHESS ignores the DCD, data carrier detect line. To be
used for three-wire operation.
NOTIFY
Zchess will run the notify routine and then exit. Setup
your BBS to call
ZCHESS.EXE path\DOOR.SYS NOTIFY
as one of your log-on externals to allow people to know that
they have a move.
CONFIGURATION FILE: ZCHESS.CFG
This file is created by SETUP.EXE or with an ASCII test editor. The
format used was proposed to me by Charles Taylor, of Pikinu's Yap Yap
BBS in Louisville. Each line begins with an optional comment,
describing what the variable is. ZCHESS will ignore anything prior to
the '=' sign.
This is a sample ZCHESS.CFG file:
Database Rev = 1
Sysop's name = Paul Fargen
BBS name = Rip On A Rope
BBS_ID = FARG
Max games per player = 25
Max days before default = 0
Path to bulletins = C:\ZCHESS\BULLS\
Path to PLAYERS.DAT = C:\ZCHESS\PLAYERS\
Number of nodes = 1
Path to PKUNZIP = \PKWARE\
PathNAME of downloader = \DSZ\DZDL.BAT
Logging active ? = 1
Seconds between status updates = 1
Daily time limit = 9999
Time zone = EST
Give up time slice? = 1(1=Yes,0=No)
Database Rev
Should always be 1 for revisions starting at 1.5.
Sysop'S Name
Enter the sysop's name on the first line.
BBS Name
Enter the BBS name on the second line.
BBS_ID
The BBS ID is an abbreviation of the BBS's name. It will be used by
future versions of ZCHESS when networking between BBSes is added.
(Version 2.0 April 1996)
Max Games Per Player
This number is checked when a player is trying to start or join a game.
Max games can be changed at any time. Existing games are allowed to be
completed.
The author intended the maximum number of games per user to be set
from twenty to 100. This setting will, of course, be global to all
sections in a single door. If this limit is set to 0, no games can
be started from the door, and the message "This is a Special
section. You can't start games" will popup whenever a player
attempt to start or join a game. If you desire to have some areas
to be configured normally, and other areas to have games setup
offline by the sysop or other means, you should run Zchess in two
different doors, allow these different configurations. You should
consider setting the paths to PLAYERS.DAT to be identical, allowing
a common database of ratings between the doors.
Max Days Before Default
This is the number of days a player has to make a move before the
maintenance routines forfeits the game. It is also used as the time a
finished game will remain for the purpose of annotations.
Path To Bulletins
This is where the bulletins generated by the maintenance routines are
placed. It can be set to your BBS's bulletin directory.
Path To PLAYERS.DAT
This is the location of the player data file. It can be set
identically for all copies of the door you run. (Note that ZCHESS
has a 100 game limit for each section.) You can specify as much or
as little detail in the paths as your system requires. For networks
that allow mapping drive letters to paths, being brief might be the
best choice. If zchess is running on a single node BBS, then the
path might be fully specified, i.e.
C:\ZCHESS\PLAYERS\
If you are running on a local area network, you might just specify
the next level, i.e.
PLAYERS\
Zchess must find this path, or the program will not run.
Number of Nodes
Used for communications between nodes when running ZCHESS. Messages
are sent to all nodes less than or equal to this setting. This should
be set to the number of nodes you now have active if you desire
real-time messages between nodes.
Path to PKZIP/PKUNZIP
This can be set to the path required for ZCHESS to find these files.
It is not required for this version. In the future, it will be used to
zip or unzip network-required files.
Path/Name for downloader
Set this to the path and filename of your downloader. It is not used
by this version of ZCHESS, but may be used in the future to allow
download of the .ICN files to RIP users.
Logging active?
If logging is active, reasons for the program ending other than the
normal 'X' exit choice are logged to a file named "ZCHESS.LOG". This
file is renamed to "ZCHESS.BAK" after it grows in size to 50,000 bytes.
With these two files, reasons for program termination can be
determined. If logging is active, users are required to press any key
within the first few seconds of starting ZCHESS. This will quickly
return them to the BBS if there are problems with passing the DOOR.SYS
parameter, the NODEx.CFG required by a particular non-standard port is
missing or incorrect, or there are other problems. If a key-press
can't be read by ZCHESS, then it will exit.
Secs Between Status Update
This control the frequency of the status line being repainted at the
bottom of the screen. If set to 0, it will be disabled. Information
about the user name, node, etc. is displayed.
Daily Time Limit
To limit the minutes a user can stay in the door each day. This can be
more restrictive than the BBS limit. Zero, or a large number will
disable this feature.
Time zone
Used when generating messages for Synchronet BBS.
Give up time slice?
Releases of OS/2 Warp by IBM and Windows 95 by Microsoft prompted
the addition of time-slice returning for DOS windows in these and
other operating systems. It may be that Zchess and other tasks
running on your computer operate better without giving up the time
slice, however. You may set this flag to 0 (for No) if this is the
case. Otherwise, Zchess will give up its time slice if waiting on a
keyboard input (or character from the remote) for DOS windows under
Desqview
Windows Standard Mode
Windows 386 mode
Windows 95
Windows NT (Not tested at the time release)
OS/2
Graphics
Local mode RIP is actually EGA mode graphics. The pieces used are the
.ICN files that came with ZCHESS. If you wish to edit the pieces, get
a copy of IMED from the BBSes listed below or use another RIP Icon
editor of your choice.
Saving Games
As games are ended, they are written to a .PGN (Portable Game
Notation) file. The file will be located in the same directory that
contained the game. Games are appended to this file. You should
check the size of the file periodically, and move it to a directory
accessible to your users. If you prefer to not save all of the games
in .PGN files, simply delete 2PGN.EXE.
RUNNING TOURNAMENTS
To create a tournament, use SETUP.EXE to create a subdirectory that
begins with the letters TOURN. Players can then 'S'witch to that
sub and 'J'oin the tournament. Note that joining multiple times
will result in a single entry, as the list is filtered when the
tournament maintenace routine is performed.
After everyone has had an opportunity to join the tournament, the
sysop can 'S'witch to that section from the door, and press 'M' for
Manage Tourny. The list of entries can be edited to some degree,
and then the number of groups should be selected. I believe that a
good number of players for a group is three to five. The smaller
the group, the more games are required, as everyone in a group will
play White and Black against every other player in his group.
The grouping can be edited somewhat as well.
Finally, the games required for the first round will be created.
Note that players are not allowed to start or join games in TOURN
sections, so each game must be created either with ZCHESS or manually
by the sysop.
Deleting a tournament
To delete a tournament, you can delete the entire directory which
contains it. At a minimum, you must delete GAME*.DAT and CROSS.TXT.
TIME SLICING
Zchess will sense the operating system when it is started. If it
finds OS/2, Windows 3.x, Windows 95, Windows NT or Desqview, it will
try to return the time slice each time the keyboard scan returns a
no keypress. This may make Zchess run too sluggishly or jerky on
some systems. For this reason, you can configure Zchess to never
return the time slice, and let the operating system gram time away
as it needs.
WORKING WITH PLAYER DATA
The PLAYERS.DAT file contains the names, ratings and won-loss records
of the users. There is one file for all of the OPEN sections, and one
each for the REAL section. These are binary files, and cannot be
edited directly.
The MAINT.EXE program exports the PLAYERS.DAT file to PLAYERS.TXT, and
then re-imports all data. This allows users that aren't active to be
deleted by changing the first letter of their name to a tilde. Such
records are skipped during the import phase of maintenance. If you
have a need to change things about a particular record, you may
1. Run MAINT.EXE to get a PLAYERS.TXT file.
2. Change directories to the PLAYERS.DAT and PLAYERS.TXT files
you wish to work with.
3. Edit PLAYERS.TXT as required.
4. Run IMPORT.EXE to import the text into PLAYERS.DAT.
While working with the exported PLAYERS.TXT file, you will notice
that there are some spare fields, which may be used in future versions
of Zchess. These fields should be set to 0. As this file is
imported to PLAYERS.DAT, these fields are reset to zero. The
maintenance program monitors these fields, and if there are found
to be non-zero, will assume that this file is corrupt, and will
attempt to rebuild PLAYERS.DAT from the PLAYERS.NAM file.
A typical record would have the format of
Number = 0
Name = Paul Fargen
BBS_ID = 0
Security = 99
Rating = 1400
Wins = 1
Losses = 2
Draws = 3
Spare = 0
Graphics = 5
Bypass Intro = 0
BBS user number= -1
Spare = 000
Min Left Today = 1000
Secs Left Now = 600
Last on = 823415247
$end_record$ ---------------------------------------------------------
Number
A sequential number that is assigned as people enter the door. This
number is reassigned by maintenance should players be deleted.
Name
The name will be the name (24 characters max) that is used during
logon. Names are retrieved from the tenth line of DOOR.SYS. They
may be the real name or the alias, as configured by your BBS. If
the first letter of the name is changed to a tilde ( ~ ), the name
will not be skipped during import with either IMPORT.EXE, or by the
maintenance program.
BBS_ID
An unused field. Leave set to zero.
Security
The security level of the user as retrieved from DOOR.SYS. Not used
by this version of Zchess.
Rating
The chess rating. New players are assigned a rating of 1400. For
games completed, the rating is recalculated as follows:
For winner:
New rating = old rating + ( Loser'sRating-Winner'sRating)/25+16.
For the Loser
New rating = old rating + ( Winner'sRating-Looser'sRating)/25-16.
The following exceptions are made:
1. If the difference between ratings is more than 400, it is assumed to
be 400.
2. At least two points must be exchanged if the game ends
decisively.
3. If a rating falls below 1200, it is assigned 1200.
5. Should a rating grow above 2800, it is assigned 2800.
Note that every point of ratings gained by one player is lost by
the other, except for the assignment of 1200.
Ratings on one BBS might not correspond to ratings on another BBS. The
strength of a given rating is dependant on the strength of the
players on the BBS. The average will be 1400, or slightly above on
all BBSes. If your BBS participates in networked games, the ratings
of your players will be averaged, to some degree, with the BBS, as
ratings points are exchanged in networked games too.
Wins
The number of wins for the player.
Losses
The number of losses for the player.
Draws
The number of draws for the player.
Spare
A spare number. Leave set to 0.
Graphics
The graphics configuration of the user, set by using '&' from the
main Zchess menu. While users will have a mode selected for the BBS,
they may choose to differ in Zchess. This will be one of the
following values:
1 - Autodectect
2 - Match mode in BBS
3 - RIP154. Will use the .ICN files which should be downloaded by
the users. ZC_BW.ZIP or ZC_BR.ZIP contain icons for all pieces
required. These files should have been shipped with ZCHESS.
4 - RIP200. Will use the .BMP files, which will be converted
automatically by RIPTERM 2.xx from the .ICN files described
above.
5 - ANSI Color. Will send text based pieces.
Bypass Intro
Should be '0' for no or '1' for yes. If set to Yes, the opening
graphic will not be displayed, and the user will go to the main
menu as quickly as possible.
BBS user number
The user number as assigned by the BBS software. This is used to
store Telegrams.
Spares
Three spare numerical data files. Leave this line set to 000.
Min Left Today
Minutes remaining. Is set by Zchess each time a user starts the door.
Secs Left Now
Seconds remaining. Is set by Zchess, and used to force the user
out of the door as their time alloted on the BBS runs out.
Last on
Time that the user last entered the Zchess door. Is stored as the
number of seconds since 1-1-1970.
SOLUTIONS TO POSSIBLE ERRORS AND PROBLEMS
If there is an unusual error, zchess will try to exit gracefully.
Depending on what the problem is, an entry will be added to the
bottom of a file called ZCHESS.LOG. The entry will be time stamped,
and include the user's name at the time to assist you with finding
and solving the problem.
Bad door.sys -> C:\ZCHESS\DOOR.SYS.
The drop file specified wasn't found by Zchess. This is probably
caused by failing to include the path.
COLORS UNDER WINDOWS 3.1
The ANSI.SYS I use tends to have global colors for all DOS windows
under WIN 3.xx. The colors may not be consistant, as everything
printed to the local screen is done via ANSI.
AllocSeg Error
I've never seen this happen. When Zchess opens the communications
port, it grabs the IRQ from the BBS, and allocates some memory to
serve as an input buffer of 64 bytes. If this memory isn't
available, you should give Zchess a larger window to run from.
Quick find record failure...
Error finding end of PLAYERS.DAT
Error getting size of PLAYERS.DAT
Put player failure... Run SETUP.EXE
Get player failure... Run SETUP.EXE
These errors concern the PLAYERS.DAT file. This file maintains a
record for all players that includes their name, ratings,
won-draw-loss records, configuration, last time on and some other
BBS related flags. If you try to run ZCHESS.EXE without first
running SETUP.EXE, you might get one of these errors. If
PLAYERS.DAT is corrupted, you might see one of these errors.
You should create a valid copy of players.dat. SETUP.EXE will
create a PLAYERS.DAT of zero length, which is of course the
smallest. As players play ZCHESS, they are added to this file with
a record size of 61 bytes. The format of each record was coded in C
as follows:
struct PLAYER_STRUCT
{
unsigned long number; /* 0 - ?? Numbered in order of playing Zchess */
char name[MAXNAMELENGTH]; /* 25 bytes allowing 24 char name with null */
short BBS_ID_pointer; /* Future use?? */
unsigned long security; /* 10 - 99 on most BBSes? */
short rating; /* 1400 is the average. */
short wins; /* 0 - 32000+ */
short losses; /* 0 - 32000+ */
short draws; /* 0 - 32000+ */
char spare_config0; /* Spare */
char graphic_mode; /* Set by '&'. ANSI, RIP, etc. */
char bypass_intro; /* Set by '&'. 1 or 0 for Yes or No */
char spare_config2; /* Spare */
char spare_config3; /* Spare */
short BBS_player_number; /* User # for BBS. For Telegrams */
char spare_config4; /* Spare */
char spare_config5; /* Spare */
char spare_config6; /* Used to sort tourneys */
short minutes_remaining_today; /* Set at logon */
time_t seconds_remaining; /* Set at logon */
time_t last_on; /* LONG INT. # of seconds since 1-1-70 */
};
Suspicious Data
If users complain that their number of wins displayed has been reset
to zero, that their player number is a very very large number, or
that there is something else wrong with the ratings, records or
player information, PLAYERS.DAT may have been corrupted. Corruption
can be caused by system disk problems or loss of power at the wrong
time, and possibly a number of other surprises.
Once corrupted, PLAYERS.DAT should be deleted. This is a binary
file, and data can't be saved if the entire file is not intact.
Chess players will be very disappointed if their ratings and records
are lost. There are a few remedies you might wish to try.
1. Delete PLAYERS.DAT.
2. Look at PLAYERS.TXT using a text editor, such as MS DOS's EDIT.
If the information in this file appears to be correct, run
IMPORT.EXE from this subdirectory. Remember to specify the
path to IMPORT.EXE, but run the program from the directory which
is to be repaired.
A second option is to rebuild from the PLAYERS.NAM file. Each time
a user logs off or changes sections, the most critical data is saved
to a file called PLAYERS.NAM in the same directory as PLAYERS.DAT
and PLAYERS.TXT. To do this rebuild, do the following:
1. Delete PLAYERS.DAT.
2. Change directories to the Zchess directory.
3. Run MAINT.EXE.
MAINT.EXE will discover that the PLAYERS.DAT file is missing, and
begin rebuilding it from the PLAYERS.NAM file. It might be expected
that the problem with PLAYERS.DAT wouldn't be discovered until after
quite a few new logins. Logging in would create a new record, with
a rating of 1400, and no games completed. PLAYERS.NAM would
hopefully have the current rating and record of these players before
the problem, as well as the new information. MAINT will read each
entry from PLAYERS.NAM, and use the latest entry if the number of
games completed is the same, and use the record having the most
number of games completed otherwise. Hence, the old information
would be restored.
ZCHESS RUNS SLOWLY WHEN CHANGING SCREENS OR EXITING
Configuring more nodes than is necessary will slow down the Zchess.
Zchess writes a message to each other node every time the menu is
changed. If the max node set in ZCHESS.CFG is unnecessarily large,
then time is waisted. Always set the max nodes to the smallest
possible.
SUPPORT FOR NON-STANDARD NODES
If your BBS has a node that is other than a UART port 1,2,3 or 4,
you should setup a non-standard node using SETUP.EXE. This will
create a file which should have two lines. For fossil ports,
the lines will be similar to:
FOSSIL
15
The first line will always be FOSSIL. The second line will be the
fossil port that should be used. These lines are saved into a file
called NODEx.CFG, where x is the node number of your BBS which has
a non-standard port.
If you have a port that has a different address or IRQ than the
standard for COM1, COM2 COM3 and COM4, you should generate a file
with the following two lines:
3E8
4
The first line is the hex address of your port, and can be set to
whatever you have. The second line is the IRQ, also in hex. For this
version of Zchess the IRQs are limited to 2,3,4,5,6 and 7. Note that
a NODEx.CFG file should not be present if the comport reported in
DOOR.SYS is COM1 through COM4 and it uses the standard addresses and
IRQs.
COMMUNICATIONS
There are a few various communications vehicals between Zchess, the
user and other users in Zchess. These are listed below:
Messages
Messages are from user to user while Playing in a game. These
messages, initiated with the 'M' hot-key, are received by your
opponent the next time he enters the game. If a BBS is
eavesdropping on a section between two other BBSes, the messages are
not captured, as the communications is assumed to be from a player
to the other player.
Notes
Notes are game annotations that are written while Viewing a game and
pressing 'V'. Notes are from a user to everyone on a given BBS for
the purpose of a discussion of the game. Notes therefore, are not
sent or received by Netchess. Notes remain local to the BBS only.
Annotations can be posted for download and placed into other Zchess
doors if a particular game has merit. Look for the file called
Telegrams
Telegrams are from Zchess to a user regarding game status changes.
A telegram is generated when Telegrams are not sent to remote BBSes.
Often telegrams will be generated by games ending with a remote BBS.
FILES YOU SHOULD WATCH
You should monitor ZCHESS.LOG, which is in the same directory as
ZCHESS.EXE. The log files should be automatically deleted once they
grow in size to 50000 bytes. This may or may not have information
that could be useful to you at the time that its deleted. If your
door is running well, then most of the information will probably
concern people dropping the carrier, and isn't important.
Another file you should watch is PLAYERS.NAM. There will be a copy
of this file in your path to PLAYERS.DAT, and each REAL section.
These files grow until the MAINT.EXE program is run. MAINT.EXE
resets the file, and then adds one record for each user. Before
this file is reset, the PLAYERS.DAT file is checked for obvious
corruption, so hopefully between the three files, you will not loose
all of the player data.
PLAYERS.DAT is the most important file to control. You might wish
to maintain a backup of this file each month on a floppy. This will
prevent you from loosing most of the ratings and game results.
.PGN files must be watched. After each game is completed, it is
exported to a .PGN file in the game subdirectory. This file will
grow without boundary. If your chess door is very active, you
should watch this file, edit, move or delete it as required.
TIME STAMPING
Zchess stores and manipulates time using the ANSI time() function. For
Turbo C, this value is a long (32 bit) word representing the number of
seconds that have elapsed since 1-1-1970. Below is a list of values
for a few dates:
Date Count in decimal Count in hex
01-01-1980 315550800
01-01-1990 631170000
04-01-1996 828334800
07-01-1996 836193600
08-01-1996 838872000
09-01-1996 841550400
10-01-1996 844142400
11-01-1996 846824400
12-01-1996 849416400
01-01-1997 852094800
02-01-1997 854773200
03-01-1997 857192400
04-01-1997 859870800
05-01-1997 862459200
06-01-1997 865137600
07-01-1997 867729600
08-01-1997 870408000
09-01-1997 873086400
10-01-1997 875678400
11-01-1997 878360400
12-01-1997 880952400
01-01-1998 883630800
01-01-1999 915166800
01-01-2000 946702800
01-01-2001 978325200
01-01-2010 1262322000
01-01-2020 1577854800
01-01-2030 1893474000
01-01-2035 2051240400
01-01-2036 2082776400
01-01-2037 2114398800
01-01-2038 2145934800
01-15-2038 2147144400
01-16-2038 2147230800
01-17-2038 2147317200
01-18-2038 2147403600
01-19-2038 2147490000
01-19-2038 22:14:07 2147483647 7FFFFFFFH
In 40 years or so, this counter will overflow into negative numbers.
Zchess should have no problems with time until then.
PROTECTION FOR SUBSCRIBERS
As a subcriber to ZCHESS, you will be protected from harassment by
telemarketers, MODEM marketers, hacks and whatever else by the fact
that the author will NOT furnish information that you specify on the
registeration form except for the following:
BBS Name: Four character BBS_ID that is contained in your ZCHESS.KEY
file.
If you want to publish your BBS phone number for the purpose of starting
interBBS chess-wars, you should post messages on your networked subs
stating that fact. I will not post your BBS name and telephone number
in any public or private medium.
PKZIP Authentication Verification
For your protection, this program has been zipped using the
following Authentication Verification code:
JWE939 Paul Fargen
The above code should be displayed when the files are extracted from the
archive file. If this -AV code is not displayed and you are unsure of
your source, or any error message is received when the files are
extracted, please do not use the program. Call the support BBS shown
below and download another copy of the program. Note that some BBSes
will rezip files posted on their BBSes for the purpose of including
their own advertisements. In these cases, you should consider whether
or not you should run the program or obtain another copy.
BBS SUPPORT (Please verify that the BBS is still active with a data
line before calling.
The Chess Board BBS
Sysop: Paul Fargen (That's me!)
Node 1: 14400, soon to be 28800
502-962-8781
Email: pfargen@iglou.com
REGISTRATION
All version 1.x registrations will also be sent a registered copy of
version 2.0 as soon as its available.
There is currently one level of registration:
$25 allows full use of Zchess and its utilities without
restriction.
KY residents add sales tax.
If you prefer to download the key from the support BBS, then send $25
plus tax, and specify the BBS you will retrieve the file from. Keys
will be PKZIPped with encription, so specify the password want used on
this form.
I will be more than happy to Email your key. It will be ZIPPED with a
password that you should specify with your registration.
Paul Fargen
6200 Richiewayne Drive
Louisville, KY
40219
System Name__________________________________________________
Four Character KEY Serial Number preferred: ________________
Second Choice: ________________
Third Choice: ________________
Your Name ___________________________________________________
Mailing Address______________________________________________
City, State, ZIP, Province, etc._____________________________
_____________________________________________________________
Post Key on my BBS? _________________________________________
Send KEY via Internet Email? ________________________________
Internet Email address. _____________________________________
If key is sent by BBS or Internet, specify the username and
password you will use to unzip the .KEY file:
password: _______________________________________
Enclosed: Registration $25 ____________
Shipping $0 ____________
Tax (KY 6% ) ____________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________